home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / ugly174.zip / FIXES.DOC next >
Text File  |  1992-07-05  |  12KB  |  328 lines

  1.  
  2. 07-05-92 FIXES.DOC
  3.  
  4. As I was working on the UGLY merges, I noticed a few fixes that needed to
  5. be made, and they're included in the UGLY .MRGs.  Things tagged with
  6. UG070501 are simply cosmetic, and don't affect the operation of the BBS.
  7. Other UG0705xx's are actual fixes.  Here's what the fixes are:
  8.  
  9. ===========================[ UG070502 ]====================================
  10.  
  11. Problem: New users have the "Since" date for listing new files set to
  12. "0000 0".
  13.  
  14. Solution: Set it to 1/1/91
  15.  
  16. Change RBBS-PC.BAS as follows:
  17.  
  18. (line 760)
  19.  
  20.     ...
  21.     CALL Protocol
  22.     ZUserXferDefault$ = "N"
  23.     ZProtoPrompt$ = "None"
  24.     LSET ZListNewDate$ = CHR$(91) + CHR$(1) + CHR$(1)                ' UG070501
  25.     IF ZNewUserSetsDefaults THEN _
  26.     ...
  27.  
  28. ===========================[ UG070503 ]====================================
  29.  
  30. Problem: When personal mail notification is set to "None," RBBS still
  31. prompts as to whether to check messages.  If the user says yes, it loads
  32. the messages instead.
  33.  
  34. Solution: Skip the prompt if there's no mail notification.
  35.  
  36. Change RBBS-PC.BAS as follows:
  37.  
  38. 1895 IF TurboLogon THEN _
  39.         RETURN
  40.      IF ActionFlag THEN _                                            ' UG070503
  41.          GOTO 1897                                                   ' UG070503
  42.      ZOutTxt$ = "Check mail in " + ZConfName$ + " ([Y],N)"
  43.      GOSUB 12999
  44.      IF ZNo THEN _
  45.         SkipMain = ZTrue : _
  46.         RETURN
  47.      ZUserIn$(0) = LEFT$("NEW ",-4*LogonMailNew)
  48.  
  49. ===========================[ UG070504 ]====================================
  50.  
  51. Problem: Nonsensical message for new users: "At least 0 new files"
  52.  
  53. Solution: Fix it.
  54.  
  55. Change RBBSSUB3.BAS as follows:
  56.  
  57.       ... (Line 58150)
  58.  
  59.       IF Upld(NumNewFiles,1) < 1 THEN _
  60.          NumNewFiles = NumNewFiles - 1
  61.       IF BaseDate <= Upld(NumNewFiles,1) AND NumNewFiles > 0 THEN _  ' UG070504
  62.          RptPrefix$ = "At least" _
  63.       ELSE RptPrefix$ = ""
  64.       END SUB
  65.  
  66. ===========================[ UG070505 ]====================================
  67.  
  68. Problem: Code could be ever-so-slightly better.
  69.  
  70. Solution: Make it ever-so-slightly-better.
  71.  
  72. Change RBBS-PC.BAS as follows:
  73.  
  74. 1950 IF NOT MailReported THEN _
  75.         ZOutTxt$ = "Sorry, " + _
  76.              ZFirstName$ + _
  77.              ", No " + ZUserIn$(0) + "mail for you" : _
  78.         GOSUB 12975
  79.      IF MsgsFromUser = 0 OR NOT ZMsgReminder OR ActionFlag THEN _    ' UG070505
  80.         GOTO 1961
  81. '    IF ActionFlag THEN _                                            ' UG070505
  82. '       GOTO 1961                                                    ' UG070505
  83.      ZOutTxt$ = "Mail you left"
  84.      GOSUB 12976
  85.  
  86. ===========================[ UG070506 ]====================================
  87.  
  88. Problem: Personal files can't display comment lines.  They used to be
  89.          able to...
  90.  
  91. Solution: Fix it.
  92.  
  93. Change RBBSSUB3.BAS as follows:
  94.  
  95. 58170 IF ZExtendedOff THEN _      ' Extended description
  96.          GOTO 58168 _
  97.       ELSE IF LastOK OR ZPersonalDnld THEN _                         ' UG070506
  98.          GOTO 58175 _
  99.       ELSE IF ZJumpSearching THEN _
  100.               GOTO 58187 _
  101.            ELSE IF SearchString$ <> "" AND (NOT WildSearch) AND FailedSearch THEN _
  102.                    GOTO 58187 _
  103.                 ELSE GOTO 58168
  104. 58171 IF Category$ = "***" OR ZPersonalDnld THEN _   ' display line  ' UG070506
  105.          GOTO 58176 _
  106.       ELSE HoldCat$ = "," + Category$ + "," : _
  107.            IF INSTR(Categories$,HoldCat$) > 0 THEN _
  108.               GOTO 58176 _
  109.            ELSE GOTO 58168
  110.  
  111. ===========================[ UG070507 ]====================================
  112.  
  113. Problem: RBBS clears the screen when exiting to a transfer, which wipes
  114. out info the SysOp might want to see.
  115.  
  116. Solution: Skip a few lines instead.
  117.  
  118. Change RBBSSUB4.BAS as follows:
  119.  
  120. 62628 WasX$ = LEFT$(ZUserIn$,INSTR(ZUserIn$+" "," ")-1)
  121.       IF WasX$ = "" THEN _
  122.          EXIT SUB
  123.       CALL FindIt (WasX$)
  124.       IF NOT ZOK THEN _
  125.          ZOutTxt$ = "Missing door program" : _
  126.          CALL UpdtCalr (ZOutTxt$ + " " + WasX$,1) : _
  127.          ZSnoop = ZTrue : _
  128.          CALL LPrnt (ZOutTxt$,1) : _
  129.          EXIT SUB
  130.       ZOutTxt$(1) = ""                                               ' UG070507
  131.       GOSUB 62633
  132.       ZOutTxt$(2) = "ECHO" + ZOutTxt$
  133.       ZOutTxt$(3) = ZDiskForDos$ + _
  134.               "COMMAND /C " + _
  135.               ZUserIn$
  136.       ZOutTxt$(4) = ZRBBSBat$
  137.       ZPrivateDoor = ZTrue
  138.       CALL QuickTPut1 ("Exiting to External Pgm for Transfer")
  139.       LOCATE 25,1
  140.       CALL LPrnt(ZLineFeed$,0)
  141.       CALL DoorInfo
  142.       CALL RBBSExit (ZOutTxt$(),4)
  143. 62629 GOSUB 62633
  144. '     CLS                                                            ' UG070507
  145.       CALL LPrnt (ZOutTxt$,2)                                        ' UG070507
  146.       CALL ShellExit (ZUserIn$)
  147.  
  148. ===========================[ UG070508 ]====================================
  149.  
  150. Problem: Inefficient code.
  151.  
  152. Solution: Change RBBSSUB4.BAS as follows:
  153.  
  154. 62670 ZOutTxt$ = Prompt$
  155.       ZMacroMin = 99
  156.       ZHidden = ZTrue
  157.       CALL PopCmdStack
  158.       ZHidden = ZFalse
  159.       IF ZSubParm < 0 OR ZWasQ = 0 THEN _
  160.          EXIT SUB
  161.       ZOutTxt$ = ""                                                  ' UG070508
  162.       IF LEN(ZUserIn$) > 15 THEN _
  163.          ZOutTxt$ = "15 chars max"                                   ' UG070508
  164.       IF INSTR(ZUserIn$,";") > 0 THEN _
  165.          ZOutTxt$ = "Cannot use ';'"                                 ' UG070508
  166.       IF DisallowSpaces THEN _
  167.          IF ZUserIn$ = SPACE$(LEN(ZUserIn$)) THEN _
  168.             ZOutTxt$ = "Not all blanks"                              ' UG070508
  169.       IF ZOutTxt$ <> "" THEN _                                       ' UG070508
  170.          CALL QuickTput1(ZOutTxt$) : _                               ' UG070508
  171.          GOTO 62670                                                  ' UG070508
  172.       CALL AllCaps (ZUserIn$)
  173.       ZWasZ$ = ZUserIn$
  174.       END SUB
  175.  
  176. ===========================[ UG070509 ]====================================
  177.  
  178. Problem: RBBS should abort text file displays when a single key (when in
  179. TurboKey mode) or a carriage return (non-TurboKey) is hit.  It sometimes
  180. doesn't.
  181.  
  182. Solution:  CHANGE RBBSSUB2.BAS as follows:
  183.  
  184. 1476 IF ASC(ZWasY$) < 127 THEN                                       ' UG070509
  185.         ZCommPortStack$ = ZCommPortStack$ + ZWasY$
  186.         IF ZTurboKey OR (NOT ZTurboKey AND ZWasY$ = ZCarriageReturn$) THEN ' UG070509
  187.            ZRet = ZTrue                                              ' UG070509
  188.         END IF                                                       ' UG070509
  189.      END IF                                                          ' UG070509
  190.      RETURN
  191.      END SUB
  192.  
  193. Change RBBSSUB4.BAS as follows:
  194.  
  195. 58304 IF ZRet THEN                                                   ' UG070509
  196.          IF ZFossil THEN                                             ' UG070509
  197.             CALL FosTxPurge(ZComPort)                                ' UG070509
  198.             CALL SkipLine (1)                                        ' UG070509
  199.             CALL QuickTPut (ZEmphasizeOff$,0)                        ' UG070509
  200.          END IF                                                      ' UG070509
  201.          EXIT SUB                                                    ' UG070509
  202.       END IF                                                         ' UG070509
  203.       IF ZLinesPrinted < ZFF THEN _
  204.          GOTO 58307
  205.  
  206. ===========================[ UG070510 ]====================================
  207.  
  208. Problem: RBBS should abort all prompts under the same conditions as
  209. described above.  The problem is that this disables type ahead for the
  210. "More" prompt, where people might like to respond while the display is
  211. still coming.
  212.  
  213. Solution: Abort prompts and text files, but only if the user isn't replying
  214. to a more prompt.
  215.  
  216. Change RBBSSUB2.BAS as follows:
  217.  
  218. (Line 1500)
  219.  
  220.      ZNo = ZFalse
  221.      ZNonStop = (ZPageLength < 1)
  222.      IF ZOutTxt$ = "" THEN _
  223.         GOTO 1525
  224.      IsMore = (LEFT$(ZOutTxt$,4) = "More") OR (LEFT$(ZOutTxt$,6) = "Press ") ' UG070510
  225.      IF ZHidden THEN _
  226.         ZOutTxt$ = ZOutTxt$ + " (dots will echo)"
  227.      IF (NOT ZVerifying) OR HoldA$ = "" THEN _
  228.         CALL ColorPrompt (ZOutTxt$) : _
  229.  
  230. 1545 WasX$ = ZWasY$
  231.      IF ZFossil AND _                                                ' UG070510
  232.         NOT IsMore AND _                                             ' UG070510
  233.         (ZTurboKey OR (NOT ZTurboKey AND ZWasY$ = ZCarriageReturn$)) THEN ' UG070510
  234.         CALL FosTxPurge(ZComPort)                                    ' UG070510
  235.         CALL PutCom(ZEmphasizeOff$ + ZEmphasizeOff$)                 ' UG070510
  236.      END IF                                                          ' UG070510
  237.      ZAutoLogoffReq = ZFalse
  238.      IF INSTR(ZLineEditChk$,ZWasY$) > 5 _
  239.         GOTO 1635
  240.      IF ZWasY$ < " " AND ZWasY$ <> ZCarriageReturn$ THEN _
  241.         GOTO 1525
  242.      IF ZWasY$ = "^" THEN _
  243.         GOTO 1525
  244.      IF ZWasY$ = ZCarriageReturn$ THEN _
  245.         GOTO 1547 _
  246.      ELSE GOSUB 1550
  247.      IF ZTurboKey < 1 THEN _
  248.         GOTO 1546
  249.      IF ZWasY$ = " " THEN _
  250.         ZWasY$ = ""
  251.      IF ZWasY$ <> "/" THEN _
  252.         ZUserIn$ = ZWasY$ : _
  253.         ZWasY$ = ZCarriageReturn$ : _
  254.         WasX$ = ZWasY$ : _
  255.         GOTO 1547
  256.      ZTurboKey = 0
  257.      GOTO 1525
  258.  
  259. ===========================[ UG070511 ]====================================
  260.  
  261. Problem: RBBS should add a "-R" to the baud string in the DORINFOx.DEF file
  262. when a user is on with an error correcting modem.  It doesn't.
  263.  
  264. Solution: Add it.
  265.  
  266. Change RBBSSUB4.BAS as follows:
  267.  
  268. 10991 ' $SUBTITLE: 'DoorInfo -- Write info for doors to file'
  269.       SUB DoorInfo STATIC
  270.       CLOSE 2
  271.       OPEN "O",2,"DORINFO" + _
  272.                  ZNodeFileID$ + _
  273.                  ".DEF"
  274.       PRINT #2,ZRBBSName$
  275.       PRINT #2,ZSysopFirstName$
  276.       PRINT #2,ZSysopLastName$
  277.       IF ZLocalUser THEN _
  278.          PRINT #2,"COM0" _
  279.       ELSE PRINT #2,ZComPort$
  280.       ZUserIn$ = MID$(ZBaudParity$, INSTR(ZBaudParity$, " BPS")+4)   ' UG070511
  281.       PRINT #2,ZTalkToModemAt$;" BAUD";ZUserIn$
  282.       PRINT #2,ZNetworkType
  283.       IF ZGlobalSysop THEN _
  284.          PRINT #2,"SYSOP" : _
  285.          PRINT #2,"" _
  286.       ELSE PRINT #2,ZFirstName$ : _
  287.            PRINT #2,ZLastName$
  288.       PRINT #2,ZCityState$
  289.       PRINT #2,ZWasGR
  290.       PRINT #2,ZUserSecLevel
  291.       CALL TimeRemain (MinsRemaining)
  292.       CALL CheckInt (ZDoorTime$)
  293.       IF ZErrCode = 0 AND ZTestedIntValue > 0 THEN _
  294.          IF MinsRemaining > ZTestedIntValue THEN _
  295.             MinsRemaining = ZTestedIntValue
  296.       PRINT #2,INT(MinsRemaining)
  297.       PRINT #2,ZFossil
  298.       CLOSE 2
  299.       END SUB
  300.  
  301. ===========================[ UG070512 ]====================================
  302.  
  303. Problem: When downloading from the personal directory, a M)arked file isn't
  304. found unless it's in upper case.  Also, when it's not found, RBBS displays
  305. the nonsense message "M not found - omitted"
  306.  
  307. Solution: Uppercase the filename before searching and save it into the
  308. correct variable.
  309.  
  310. Change RBBSSUB3.BAS as follows:
  311.  
  312. 58188 IF ProcessedNew OR MarkingFiles OR NOT ZListOnly THEN _
  313.          ProcessedNew = ZFalse : _
  314.          RETURN
  315.       ZUserIn$(0) = ""
  316.       WasI = ZAnsIndex              ' check whether in dir
  317.       WHILE WasI <= ZLastIndex
  318.          CALL AraAllCaps (ZUserIn$(),WasI)
  319.          ZWasZ$ = ZUserIn$(WasI)
  320.          CALL UnMarkItems (ZMarkedFiles$,WasI,ZLastIndex,WasX,ZTrue)
  321.          CALL AllCaps (ZUserIn$(WasI))                               ' UG070512
  322.          ZWasZ$ = ZUserIn$(WasI)                                     ' UG070512
  323.          Temp$ = ZUserIn$(WasI)
  324. 'print "wasi=";wasi;" temp$=<";temp$;"> Zdef=<";zdefaultxfer$;">"
  325.          IsProto = (LEN(Temp$) = 1 AND _
  326.                     INSTR(ZDefaultXfer$,Temp$) > 0)
  327.       ...
  328.